home *** CD-ROM | disk | FTP | other *** search
/ Inside Mac Games Volume 5 #8 / IMG 51 Vol 5-8.iso / Goodies / More For Your Games / Quake / MODs / ZuesBot / ZEUS.TXT < prev   
Text File  |  1997-06-03  |  30KB  |  733 lines

  1. =========================
  2. Title    : ZEUSbot 2.05
  3. =========================
  4.  
  5. Filename : ZEUS205.ZIP
  6. Version  : 2.05
  7. Date     : 6/03/97
  8. Author   : Jonathan E. Wright aka Nelno the Amoeba
  9. Email    : nelno@resurrection.com, nelno@ionstorm.com
  10.  
  11. Quake DM
  12. Name     : Nelno [ION]
  13.  
  14. Home Page: http://trailerpark.com/phase1/nelno
  15.            Check here for the latest updates to all my Quake mods:
  16.            Zeus, Cujo, plasma gun, BFG, blaze gun and more.
  17.            If you didn't get this mod from my site, it's likely
  18.            that you don't have the latest version.
  19.  
  20.            Go to the official Zeus bot page at Quake C Archive at:
  21.            http://www.planetquake.com/qca/zeus
  22.  
  23. Credits  : ID Software for designing Quake with Quake C!
  24.  
  25.            Otherwise, this bot was built from scratch.
  26.  
  27. Special
  28. Thanks   :  My select group of hardworking beta testers:
  29.             Gary McMillin, "JumpA" <psyche@hitech.net.au> for
  30.               all the excellent testing and bug reporting he's
  31.               done for Zeus since version 2.03.
  32.             Jeff Blaine, jblaine@shore.net for catching all the
  33.               easily missable bugs in 2.041.
  34.             And the other beta guys who's names and email address I
  35.               don't have here at work, but who were also diligent in
  36.               their desire to see the Zeus bot be the best bot.
  37.             Yowza the All-Knowing for the billions of suggestions
  38.               he's given me (usually reminding me of the nose on
  39.               my face).
  40.             Everyone who's sent me mail with suggestions, praises,
  41.               complaints and ummm... well, that's all.
  42.  
  43.  
  44. ============
  45. Type of Mod
  46. ============
  47.  
  48. Quake C  : yes
  49. Sound    : yes
  50. MDL      : yes
  51.  
  52.  
  53. ==================
  54. Format of Quake C
  55. ==================
  56.  
  57. unified diff  : no (I don't even know what this means)
  58. context diff  : no (this either)
  59. .qc files     : no (not for the moment)
  60. progs.dat     : yes
  61.  
  62.  
  63. ================================
  64. Description of the Modification
  65. ================================
  66.  
  67. This is a *MAJOR* update to the original ZEUSbot.  The old code, based
  68. on the TMBot, was *completely* done away with.  The ultimate goal is to
  69. provide an intelligent deathmatch opponent\helper bot.  
  70.  
  71. The ZEUSbot is both a helper bot and a deathmatch bot.  In single play
  72. he will effectively annihilate just about anything that get's in his way,
  73. and you'll be lucky if you can pick anything up before he does.
  74.  
  75. The ZEUSbot's death match capabilities are currently under development, but
  76. it's still probably the most intelligent bot available, excepting Steven
  77. Polge's excellent Reaper bot.  Please see the list of future enhancements
  78. for an idea of features that will be added to the ZEUSbot.
  79.  
  80. Originally I had planned to release the entire source for the Zeus bot, but
  81. my employment with ION Storm has made that an impossibility, since Zeus 
  82. contains a basic blueprint of some of the technology that will be used in
  83. our games.  Please don't ask for the source.  If I could release it I truly
  84. would, and I'm very sorry that I can't.  Please don't think I'm being stingy
  85. with my code.  I don't believe in holding things back when others can learn
  86. from them, but in this case I have little choice.
  87.  
  88.  
  89. =================
  90. Zeusbot Features
  91. =================
  92.  
  93. Besides being _at least_ as smart as any of the standard Quake enemies, the
  94. ZEUSbot also has a few enhancements:
  95.  
  96. . maps out levels and finds best paths to known items.
  97. . can pick up any item a player can pick up.
  98. . knows how to jump intelligently across obstacles, down from ledges and
  99.   into water.
  100. . can fire all of the standard weapons, plus the plasma gun (included in
  101.   this mod).
  102. . knows when an object is unreachable, and will not keep trying for an
  103.   unreachable object.
  104. . based on the player model -- uses all player frames.
  105. . multiskin support for up to 16 skins.
  106. . can swim -- follows and attacks under water.
  107. . can jump out of water onto ledges.
  108. . can navigate broken ground as easily as a human client.
  109. . strafes and circle strafes while attacking.
  110. . chooses its best weapon based on available weapons/distance.
  111. . can use platforms, open secrets, shoot switches and push buttons.
  112. . Has *totally new* movement code which makes it the smoothest and fastest
  113.   bot ever made --   just as smooth as a player character, no jumpiness
  114.   or blitting.
  115. . can roam levels by itself, or follow the player.
  116. . Advances or retreats based on distance from target.
  117. . has all the off-color and corny comments expected from Zeus 1.0, which
  118.   can be enabled/disabled with an impulse.
  119. . can spawn up to 15 opponent and helper bots.
  120. . opponent bots respawn when in deathmatch.
  121. . can be told to attack with only an axe (and he's mighty dangerous with it,
  122.   too).
  123. . can be told to stay or follow, glow, attack or not, teleport to owner,
  124.   and report on his status.
  125. . view toggle between bot's and player's view.
  126. . opponent bots get their own unique name in a deathmatch.
  127. . will not fire when owner or teamate is in between bot and enemy.
  128. . helper bot automatically respawns after each level if he was active
  129.   when the last level ended.  He retains all his weapons, ammo, health
  130.   and armor.
  131. . bot leads target based on skill level.
  132. . bot has a chance to miss with shotguns based on skill level.
  133. . bot's cannot see invisible players until fired upon.
  134. . if teamplay is set, opponent bot's will all be on the same team,
  135.   verses the player.
  136. . has a Holographic Heads Up Display system.
  137. . is generally a badass.
  138.  
  139. I'm sure I've left a number of things out...
  140. But you should get the picture -- this bot ain't no wuss.
  141.  
  142.  
  143. ====================
  144. Future Enhancements
  145. ====================
  146.  
  147. These are just a few of the features currently being added to the ZEUSbot:
  148.  
  149. . nothing.  Zeus is as done as I will ever have time to make him.
  150.  
  151. PLEASE EMAIL ME WITH SUGGESTIONS FOR IMPROVEMENT!
  152.  
  153.  
  154. =====================================
  155. How to use the Zeus bot Modification
  156. =====================================
  157.  
  158. Helper bot commands:
  159. --------------------
  160. Impulse 100  Activates a helper bot
  161.  
  162. Impulse 101  Deactivates the last activated helper bot
  163.  
  164. Impulse 102  Teleports the bot to your current location as long as there is
  165.              room.
  166.  
  167. Impulse 103  Toggles the bot's glow on and off.
  168.  
  169. Impulse 104  Reports the bot's status.
  170.  
  171. Impulse 105  Toggles bot attack mode on and off.
  172.  
  173. Impulse 106  Toggles between player's and bot's view.
  174.  
  175. Impulse 107  Toggles the bot's stay status.  When staying, the bot will remain
  176.              where he is until an enemy is sighted or he is told to follow
  177.              again.
  178.  
  179. Impulse 108  Tell the last created bot to use only his axe as a weapon (this
  180.              is very entertaining, and they happen to be pretty good with it).
  181.  
  182. Impulse 109  Toggle Zeus comments on and off.  This also toggles enforcer
  183.              sounds on and off.
  184.  
  185. Impulse 110  Toggle bot roaming on and off.
  186.  
  187. Impulse 111  Make bot throw backpak (useful if the bot has been picking
  188.              everything up before you can).  The bot will throw the back
  189.              pack to you.  If you are too far away, the bot will pick
  190.              the backpack back up (unless he is staying).
  191.  
  192. Impulse 112  Toggle holographic HUD display on and off.  Default is on
  193.              for single-play games and disabled for deathmatch games.
  194.  
  195. Impulse 113  Toggle shortest pathing on/off.  Pathing may cause Quake to
  196.              crash with an "Infinite loop error" on large levels, or may
  197.              cause Quake to give and "Out of edicts" error when lots of
  198.              bots are active.  If you have any problems, turn off pathing
  199.              with this impulse.  Bot's will still map levels and move from
  200.              node to node, but they will not generate shortest paths to
  201.              items.
  202.  
  203. Debugging Commands:
  204. -------------------
  205.  
  206. Impulse 125  Toggle bot verbose mode on and off.  Turn it on if you want to
  207.              know what the bots are doing and "thinking".
  208.  
  209. Impulse 126  Kill all monsters on current map. (Gib's some, and may cause an
  210.              "no free edicts" error on maps with lots of creatures).
  211.  
  212. Impulse 127  Toggle player damage.  This is a better cheat than god mode since
  213.              the player does not experience any impact from weapons or twitch
  214.              when hurt.  If you use this in deathmatch while playing with
  215.              another human you are a low-life and you'd better stop or Nelno 
  216.              will find you on the net and spank you down so hard that you'll
  217.              be crying for mommy.
  218.  
  219. Impulse 128  Debug toggle.  Allows printing of some specific messages.
  220.  
  221. Impulse 129  Show unreachable items.  For debugging use.
  222.  
  223. Impulse 130  Show opponent distance toggle.  When on, the distance to the
  224.              last-created opponent bot will be displayed.
  225.  
  226. Impulse 131  Toggle observer mode.  Currently, you can still fire in observer
  227.              mode, but it's only for debugging purposes right now.
  228.  
  229.  
  230. Deathmatch Bot Impulses:
  231. ------------------------
  232.  
  233. Impulse 150  Spawn an opponent ZEUSbot.
  234.  
  235. Impulse 151  Show scores -- shows all player and bot frags (including
  236.              helper bots).  Currently not sorted and not space padded,
  237.              but that will change at some point.
  238.  
  239. Impulse 152  Spawn 4 bots, at skills 0, 1, 2 and 3, using skins 1, 2, 3
  240.              and 4.
  241.  
  242.  
  243. Multiskin Impulses:
  244. -------------------
  245.  
  246. Impulse 200  Previous skin.
  247. Impulse 201  Next skin.
  248. impulse 202  Multiskin on/off.
  249.  
  250. Bind these impulses to keys to make commanding the bot easy.  For example,
  251. to make the Q key activate the bot bring down the Quake console by pressing
  252. the ~ key and then type:
  253.  
  254. BIND Q "IMPULSE 100"
  255.  
  256. Now, every time you press Q the bot will be toggled between his active and
  257. inactive state.  You can bind the other impulses in the same manner.  When
  258. you exit Quake, the configuration will be saved and you won'y have to do it
  259. again.
  260.  
  261.  
  262. Setting Bot Skill Levels:
  263. -------------------------
  264.  
  265. To set the skill level of the next opponent bot to be spawned,
  266. pull down the Quake console with the ` key and type SKILL X,
  267. where X can be a value from 0 to 3.  The default skill is 1.
  268.  
  269.  
  270. Setting Bot Skins:
  271. ------------------
  272.  
  273. Deathmatch Bots With Multiskin ON:
  274. When a bot is spawned, it will use the skin the spawner
  275. is currently using.  After that, the bot will use that
  276. skin until it is deactivated (for helper bots) or the game
  277. is ended.
  278.  
  279. Deathmatch Bots With Multiskin OFF:
  280. Each bot will choose a particular skin.  For instance, Lord
  281. Brutish will always choose skin 7.  With the default player.mdl
  282. file, however, all bots will be skin 0, except for bot's named
  283. "Zeus" who will be the Zeus bot skin.  This is because the default
  284. player.mdl has only skins 0 and 1.
  285.  
  286. Using Multiskin OFF with a 16 skin player.mdl will allow you to
  287. recognize certain bots by their skins each time you play against
  288. them.  I recommend getting the Reaper skins file that has 15
  289. skins with different colors that look like real players.  This
  290. may enhance the feeling of being in a deathmatch against humans.
  291. I regret I couldn't make the bots change colors like players, but
  292. that is sadly based on Quake's client/server protocol and will
  293. only work with clients.
  294.  
  295. Multiskin and Helper Bots:
  296. Multiskin ON or OFF has no effect on helper bots, they will
  297. always use the skin of the player who spawned them. There
  298. is one exception, however.  Helper bots will default to skin
  299. 1 (the Zeus skin) if the player is using the default player
  300. skin (skin 0).  If the player is using skin 1, the helper
  301. Zeus will use skin 0.  Otherwise, the bot will use the same
  302. skin as the player when it is spawned.
  303.  
  304.  
  305. Using the ZeusBot Camera:
  306. -------------------------
  307.  
  308. The ZeusBot Camera gives you a helper bot's view of the action.
  309. You can use the camera in either deathmatch or single play.
  310. IMPULSE 106 will switch you to the view of the last helper bot
  311. that you spawned.  There is currently no way to see the view
  312. from any other bot.
  313.  
  314. You can use IMPULSE 106 to switch back and forth between your
  315. view and the bot's view, in single play you will automatically
  316. be switched to your view after the bot dies. In deathmatch, you
  317. will remain in the bot's view while it respawns.
  318.  
  319. DeathCam:
  320. If the bot dies while you are seeing from its viewpoint, you will
  321. be treated to the Zeusbot DeathCam.  The camera will move quickly
  322. away from the bot as it dies, spinning around it in circles. This
  323. is usually quite cool to watch, especially when your bot is gibbed.
  324.  
  325. Using the Holographic HUD:
  326. --------------------------
  327.  
  328. The Holographic HUD (Heads Up Display) is automatically enabled
  329. in single player and co-op games.  As long as you do not have
  330. a Zeus bot helper, the HUD bars will display your own status.
  331. Once you spawn a bot, the HUD will track the bot's status.  If
  332. your bot dies, the status bar will show your status again.
  333.  
  334. The red status bar represents health and the yellow status bar
  335. represents armor.  The yellow status bar is always based on the
  336. max for the type of armor being used.  If the bot has 150 yellow
  337. armor, then the bar will be all the way to the top.  Likewise,
  338. if your bot has 200 red armor, the bar will also be all the way
  339. to the top.
  340.  
  341. You can turn the H-HUD on and off with IMPULSE 112.
  342.  
  343. Since the HUD actually projects "holograms" in front of the
  344. player displaying status and targeting info, other clients
  345. can see the HUD in a co-op game.  There is also only one HUD
  346. per server, so the last person to activate the HUD in multiplay
  347. would be the only one able to use it, though the other players
  348. could see bot targetting info and the armor/health status
  349. floating in front of that player. If you get too close to a
  350. wall or object, your HUD will be projected beyond the wall,
  351. and you will be unable to see it.
  352.  
  353.  
  354. Playing Teams in Deathmatch:
  355. ----------------------------
  356.  
  357. To play against a team of Zeus bots, simply set teamplay to on when
  358. you start your multiplayer game.  All opponent bots you spawn during
  359. that game will team against you.
  360.  
  361. If you would like to have bots on your own team, you can spawn a
  362. helper bot with IMPULSE 100.  This is great, but now the bot will
  363. just follow you around as a helper.  To make the bot play on his
  364. own, use IMPULSE 110 to turn on his roaming mode.  Now he will no
  365. longer follow you.  Repeat these steps for each team member you
  366. want to create.
  367.  
  368. You will always be able to command the last bot helper bot you
  369. create.  When you remove the last one, you will be able to command
  370. the bot that was created before it was.
  371.  
  372. Dynamic Level Mapping
  373. ---------------------
  374.  
  375. Version 2.05 of Zeus bots can dynamically map out levels and find
  376. paths to items that they have seen from any spot on a level (if a known
  377. path does indeed exist).  This works for any and all Quake levels and 
  378. is thus termed dynamic.  It may, however, cause Quake to run noticably
  379. slower on some computers and/or cause Quake to run out of resources on
  380. very large and/or complex maps.  If you experience any problems, try
  381. using IMPULSE 113 to turn of pathing while using the Zeus bot.
  382.  
  383.  
  384. ================================
  385. How to Install the Modification
  386. ================================
  387.  
  388. READ THIS SECTION IF YOU ARE HAVING TROUBLE, BEFORE EMAILING ME!
  389. If you still can't figure it out, please email me and try to be
  390. specific about at what point you are having trouble, and what
  391. error messages, if any, you are recieving.
  392.  
  393. 1) Create a directory within the Quake directory called ZEUS.
  394.  
  395. 2) Unzip the files from this archive into that directory, using the -d
  396.    option with PKUNZIP.  Winzip will create the correct directories
  397.    automatically.
  398.  
  399.    WARNING: if you do not use the -d option with PKUNZIP or "Use directory
  400.    names" with WinZip, then you will not see helper Zeus's with their correct
  401.    skin.  Everything else will work, so if everything seems find except you're
  402.    not seeing the nifty skin I made, this is without a doubt your problem.
  403.  
  404. 3) Start Quake by typing: quake -game zeus  
  405.  
  406.    Make SURE that you type the "-game" in lowercase, or Quake will not 
  407.    recognize it and will not load the Zeus mod.  This is most likely your
  408.    problem if you run the patch and the impulses don't seem to work.
  409.  
  410. 4) Play with the god of the lightning bolt.
  411.  
  412.  
  413. ==================
  414. Technical Details
  415. ==================
  416.  
  417. Code: 9500 lines
  418. Time: ~80 hours (getting up there)
  419.  
  420. Known bugs and peculiarities:
  421. -----------------------------
  422.  
  423. . bots can become confused if more than 3 unreachable items are
  424.   within view.  This is an arbitrary value and can be increased if
  425.   needed (at the cost of more memory, of course).
  426.  
  427. PLEASE EMAIL ME WITH ANY BUGS YOU FIND.  When you email me, please try
  428. to be specific about the nature of the bug and under what circumstances
  429. it occurred.  If I cannot reproduce the bug, it is very unlikely that I
  430. will be able to fix it.
  431.  
  432.  
  433. ====================
  434. Version Information
  435. ====================
  436.  
  437. Changes in version 2.05:
  438.  
  439. . bots now map out the level as they go.  They can follow the paths they
  440.   have found, or break off randomly to search for new ones.  This makes
  441.   them *much* faster at getting around.  They will kill you.
  442.  
  443. . faster screen updates for the holo-HUD when running on faster machines.
  444.   Reduces jerkiness.
  445.  
  446. . bots now wait for platforms to stop moving before they get off.
  447.  
  448. . better code to avoid roaming off of ledges/catwalks.
  449.  
  450. . targetting routines were greatly optimized.  Now more bots can be
  451.   spawned without Quake slowing down (but then, pathing takes up lots
  452.   more CPU time now...)
  453.  
  454. . bots now avoid missiles and grenades.  Skill 0 bots avoid nothing,
  455.   skill 1 bots will avoid stationary grenades and skill 2 and 3 bots
  456.   will avoid both stationary grenades and moving grenades and rockets.
  457.   Skill 3 bots have a greater detection range for missiles and grenades
  458.   than skill 2 bots.
  459.  
  460. . deathmatch bots now respawn automatically after changing levels.  The
  461.   first 10 bots will keep their names.  The first 4 bots will keep their
  462.   armor, ammo and weapons.  All other bots must start from scratch again.
  463.   I wish it could be different, but I've packed about as much as I can
  464.   into the 16 float variables that Quake C can keep between level changes.
  465.   I ran into a rounding problem while trying to pack the information into
  466.   so few variables, so every once in a while a bot name or skill may change
  467.   between levels or someone (perhaps even the humans) may respawn without
  468.   the correct gear.
  469.  
  470. . new code for computing velocity from weapon hits when a creature, bot
  471.   or player is killed.  Bodies now twist and spin and bounce off of
  472.   walls. It simply looks totally cool and should have been in Quake from
  473.   the start.
  474.  
  475. . bots will try not to back up against a wall in combat.  This makes them
  476.   much less susceptable to rocket attacks as they are less likely to take
  477.   area damage from a rocket that hits behind them.
  478.  
  479. . bots will now intentionally strafe to pick up an item while engaging an
  480.   enemy.
  481.  
  482. . implemented peripheral vision based on skill level.  Bots can no longer
  483.   see 360 degrees around.
  484.  
  485. . implemented reaction times for bots based on skill level.
  486.  
  487. . spawning bots now telefrag correctly.
  488.  
  489. . bots now glow when they pick up quad and pentagrams, and turn into eyes
  490.   when they pick up a ring of shadows.  I just kept forgetting to do this...
  491.  
  492. . bug that caused player to be thrown out of bot view when taking damage
  493.   squashed.
  494.  
  495. . splashing noises due to bots jumping up and down greatly reduced and for
  496.   the most part gone.
  497.  
  498. . added impulse to enable/disable special features such as the plasma gun.
  499.  
  500. . bots get stuck a lot less often than they used to.  Specifically fixed
  501.   some problems with bots getting stuck on inward slanting walls.  This
  502.   is due to floating point inaccuracies in Quake's clipping and because 
  503.   Zeus bots move entirely different from any other bot or Quake creature,
  504.   it's really beyond the scope of Quake C to fix entirely (ie. needs engine 
  505.   changes).
  506.  
  507. . level now changes when a bot reaches the fraglimit, however, you won't
  508.   be able to see bots on the frag screen.  Don't ask me to fix this, because
  509.   it is hard coded in the Quake engine.  Trust me, I know.
  510.  
  511. . bots now cease all activities during the intermission.  No more bots 
  512.   running around wildly as you hover above looking at frag counts.
  513.  
  514. . fixed some minor bugs with the Zeusbot camera.
  515.  
  516. Changes in version 2.042
  517.  
  518. . this is an alternate version of 2.042 which doesn't have player.mdl
  519.   included in the PAK0.PAK file.  This allows multiskin support to work
  520.   without having to unpack Zeus's PAK0.PAK.  There were no other changes.
  521. . bots are no longer solid right after dying and until respawning.
  522. . bots don't keep going after weapons they already have when deathmatch
  523.   is set to 2.
  524. . removed the debugging message that was popping up each time a bot died.
  525.   It said "Damnit!" and fit well with what the bot might be thinking if
  526.   it were capable of such.
  527.  
  528. Changes in version 2.041
  529.  
  530. . Fixed bot view.  It was the llamas again.
  531.  
  532. Changes in version 2.04
  533.  
  534. . NO MORE SPLASHING!
  535. . MAJOR changes to the roaming AI.  Bot is now a lot better
  536.   at getting out of rooms and finding new items.
  537. . Various bug fixes to the running frames, follow code, etc.,
  538.   that were causing dm bot's to stutter-step and look a bit
  539.   jerky.
  540. . bots will shoot switches and secret doors that require it.
  541. . bots will follow owner and enemies through teleports.
  542. . bots now go for teleports, platforms, switches and doors.
  543. . bots choose appropriate weapons to shoot switches/doors.
  544. . NEW BOT VIEW with BOT DEATH-CAM.  This is just totally cool.
  545.   There's simply other way to describe it... just plain bad.
  546. . unreachable items at a high pitch should no longer confuse
  547.   the bot.
  548. . Modifications to the Zeus skin.  Still not finished, but I
  549.   get bored working on it...
  550. . fixed a potential problem with bots spawning at the same
  551.   angle the player was looking.  If the player was tilted
  552.   down in water while spawning a bot, the bot would be stuck
  553.   looking down.  This potentially affected movement and all
  554.   sorts of things, but no more.
  555. . HUD updates are twice as smooth and do not lag annoyingly
  556.   anymore.
  557. . bots no longer get their heads stuck in low ceilings.
  558. . bots will not run into shallow lava or slime (except when
  559.   strafing or backing away in battle - much like humans).
  560. . bots no longer float when killed under water.  They sink
  561.   like bricks.
  562. . removed the "thud" sound that bots made when they landed.
  563.   This sound is not made by players, so it's gone.  The only
  564.   side effect is that fiends will not make the sound either
  565.   when they land.  Too bad.  Quake was making this sound
  566.   without my help, so I just turned it into a null .wav file.
  567. . bots swim better and go for air better.
  568. . roaming bots can jump into the water sometimes for the hell
  569.   of it.
  570. . helper bot's can go rogue.  If you're helper Zeus gets upset
  571.   with you, well, you had better run, or have a big gun.  Once
  572.   he's rogue, if you kill him in deathmatch he will keep
  573.   respawning on his own as an opponent, but he'll go after
  574.   everything with an axe.  The bot will warn you when he's
  575.   sick of your crap.
  576. . fixed the stupid "stand up" bug when a helper bot died.
  577.   It was so lame I can't believe I left it in there.  Some
  578.   llama must have been grazing on my code. (thanks to
  579.   JumpA for mentioning this, as I had somehow completely
  580.   missed it!)
  581. . bot's now make pain sounds when in lava, slime, etc.
  582. . adjustments to aiming code to make bots miss more, especially
  583.   on lower skill levels.
  584. . multiskin support.
  585. . disabled H-HUD in deathmatch.
  586. . fix a bug with the plasma gun that would not allow you to select
  587.   the plasma gun when you were out of nails.
  588. . Increased plasma gun's velocity by 1/3 to make it more effective.
  589.   Bolts now travel at the same rate as nails.
  590. . Players and bots now spawn with 25 cells, to make up for the lack
  591.   of cells on most of the standard levels.
  592. . if you are killed by an opponent bot in death match, you may be
  593.   lucky enough to be treated to the Zeus bot taunt cam.  You'll know
  594.   when it happens...
  595.  
  596. Changes in version 2.03
  597.  
  598. . added the holographic HUD.
  599.  
  600. . removed some of the water movement code.  It was getting Zeus
  601.   stuck in places he used to do fine.  The end result is that he
  602.   will get stuck more often when going for air.
  603.  
  604.  
  605. Changes in version 2.02
  606.  
  607. . helper bots no longer spawn on top of one another if the
  608.   player doesn't move before spawning.
  609. . bots now drown and will go for air when they need it.
  610. . added the "throw backpack" command in an attempt to head off the
  611.   email complaining about Zeus being an item hog.  I'd say he's
  612.   just damn efficient.
  613. . fixed bot jumping.  Jumps are now more accurate, and bot's find
  614.   ledges when they should.
  615. . bots can no longer jump amazing distances (it was cool, but
  616.   it wasn't quite fair).
  617. . fixed ChanceToHit with shotguns so that non-moving entities
  618.   always recieve the highest chance for that skill.  Monsters
  619.   that use MOVETYPE_STEP will always get highest chance, unless
  620.   jumping or falling because they don't use actual velocity
  621.   factors to move -- no big deal only affects helper bots.
  622. . fixed helper bot levels (they were not having their levels set,
  623.   resulting in skill 0 helper bots, which is lame!)
  624. . implemented ledge detection.  YES!  This one REALLY SUCKED. Bot's
  625.   are now much less likely to run off a ledge.  But they may still
  626.   jump into lava like the fools they are... =)
  627. . start-up info message added.
  628. . fixed a bug with unreachable items that was the result of my
  629.   absentmindedness...
  630. . bot will now search for items above and below for up to 2 seconds
  631.   before deciding they are unreachable.  The bot used to check the
  632.   pitch to the item, but this changes to much as the bot moves and
  633.   was not doing the job.
  634. . modified bot's swim routines.  Bot no longer sinks too fast.  In
  635.   fact, the bot is a damn good swimmer and will just barely sink at
  636.   all.
  637.  
  638. Changes in version 2.01
  639.  
  640. . Skill levels implemented.
  641. . Target leading implemented.
  642. . Target missing and chance to hit implemented (for line-tracing
  643.   weapons such as the shotgun).
  644. . bots will no longer see invisible players unless they are attacked
  645.   by one.
  646. . enhanced ability to chase player out of sight
  647. . fixed weapon ranges so bot will fire from greater distances
  648.  
  649. Changes in version 2.0
  650.  
  651. . While this is the second version of the Zeus bot this was truly the
  652.   first version of this code.  Seeing as Zeus 1.0 was based on the
  653.   TM bot and was my first attempt at doing anything with Quake C, it
  654.   doesn't really count as the same bot -- it just has the same name.
  655.  
  656.  
  657. ===================
  658. Author Information
  659. ===================
  660.  
  661. I'm a 25 year old who's been programming computers for the last 15 years.  I
  662. studied computer science at Clemson University but I hated school and dropped
  663. out (got kicked out once or twice, too, now that I think about it).  I now
  664. work for ION Storm programming the AI and effects for the Quake enging-based 
  665. game Daikatana.  Besides being proficient in several programming languages 
  666. I also draw and write music in my spare time.
  667.  
  668.  
  669. ============================
  670. Answers to Common Questions
  671. ============================
  672.  
  673. Here are answers to some of the most common questions I recieve about my
  674. Quake C mods:
  675.  
  676. Q: How can I use your mod when I'm playing internet deathmatch games?
  677. A: You must find a server that is already running the mod.  That is the
  678.    only way, besides starting your own server.
  679.  
  680. Q: Help! How come I can't get your mod to work?!?!?
  681. A: You are doing something wrong. =)  They work for everyone else.  Please
  682.    read the instructions very carefully and do everything exactly like they
  683.    say.  If something is still unclear, then email me, and please be clear
  684.    about exactly the problem you're having -- "Cujo won't work" doesn't give
  685.    me any clue as to what the real problem might be.  For example: "I
  686.    installed the file into C:\GAMES\QUAKE\CUJO and ran the game with
  687.    quake -game cujo but nothing happens when I use IMPULSE 100."  Makes a lot
  688.    more sense and lets me know almost exactly what the problem is.  If you
  689.    recieve any error messages, be sure to include those in your mail also.
  690.  
  691. Q: Can you add so and so or change so and so in the next release?
  692. A: Probably so.  Please email any suggestions or complaints that you have.
  693.    The whole point is to make something that other people enjoy using, so
  694.    I've got to have other people's input!
  695.  
  696. Q: Can I use your mod in a compilation mod I am creating?
  697. A: Read the copyright and distribution permissions, then please email me
  698.    and tell me about it.  If you use any of my mods as a base or addition to
  699.    any other project, you must credit me and include an address\location where
  700.    my original mod can be found.  Also, I will try to help you if I can, but
  701.    please do not expect me to bug hunt for you.  If you modify my source code,
  702.    the bugs that crop up are your ultimate responsibility.
  703.  
  704. =======================================
  705. Copyright and Distribution Permissions
  706. =======================================
  707.  
  708. The modifications included in this archive are Copyright (C) 1996 by
  709. Jonathan E. Wright and Quake C is Copyright (C) id Software.
  710.  
  711. You MAY NOT use the modifications as a basis for other publicly
  712. available work without the written permission of the author.
  713.  
  714. You may distribute this Quake modification in any electronic format as long
  715. as this description file remains intact and unmodified and is retained along
  716. with all of the files in the archive.
  717.  
  718. =============
  719. Availability
  720. =============
  721.  
  722. You can find this archive at the following URLs:
  723.  
  724. ftp://ftp.cdrom.com
  725. http://www.trailerpark.com/phase1/nelno
  726. http://www.planetquake.com/qca/zeus
  727.  
  728. NOTE: if you downloaded this bot from somewhere other than
  729. http://trailerpark.com/phase1/nelno, then it is likely
  730. that you do not have the most current version.  Please
  731. check the above site if you would like the latest version
  732. of the Zeus bot.
  733.